﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using GalaSoft.MvvmLight.Messaging;
using Torneo.Phone.Mensajes;

namespace Torneo.Phone.Model
{
    public class DataService : IDataService
    {

        public void CargarResultados()
        {
            var proxy = new ServicioTorneo.ServiceClient();
            proxy.ObtenerResultadoWPCompleted += new EventHandler<ServicioTorneo.ObtenerResultadoWPCompletedEventArgs>(proxy_ObtenerResultadoWPCompleted);
            proxy.ObtenerResultadoWPAsync();
        }

        void proxy_ObtenerResultadoWPCompleted(object sender, ServicioTorneo.ObtenerResultadoWPCompletedEventArgs e)
        {
            var mensajeResultados = new MensajeResultados()
            {
                Resultados = e.Result,
            };

            Messenger.Default.Send<MensajeResultados>(mensajeResultados);
        }

        public void CargarEmparejamientos()
        {
            var proxy = new ServicioTorneo.ServiceClient();
            proxy.ObtenerEmparejamientosWPCompleted += new EventHandler<ServicioTorneo.ObtenerEmparejamientosWPCompletedEventArgs>(proxy_ObtenerEmparejamientosWPCompleted);
            proxy.ObtenerEmparejamientosWPAsync();
        }

        void proxy_ObtenerEmparejamientosWPCompleted(object sender, ServicioTorneo.ObtenerEmparejamientosWPCompletedEventArgs e)
        {
            var mensajeEmparejamientos = new MensajeEmparejamientos()
            {
                Emparejamientos = e.Result,
            };

            Messenger.Default.Send<MensajeEmparejamientos>(mensajeEmparejamientos);
        }

        public void CargarJugadores()
        {
            var proxy = new ServicioTorneo.ServiceClient();
            proxy.ObtenerJugadoresCompleted += new EventHandler<ServicioTorneo.ObtenerJugadoresCompletedEventArgs>(proxy_ObtenerJugadoresCompleted);
            proxy.ObtenerJugadoresAsync();
        }

        void proxy_ObtenerJugadoresCompleted(object sender, ServicioTorneo.ObtenerJugadoresCompletedEventArgs e)
        {
            var mensajeJugadores = new MensajeJugador()
            {
                Jugadores = e.Result,
            };

            Messenger.Default.Send<MensajeJugador>(mensajeJugadores);
        }
    }
}
